[INFO] fetching crate vst2 0.0.1...
[INFO] building vst2-0.0.1 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] extracting crate vst2 0.0.1 into /workspace/builds/worker-4/source
[INFO] validating manifest of crates.io crate vst2 0.0.1 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate vst2 0.0.1
[INFO] finished tweaking crates.io crate vst2 0.0.1
[INFO] tweaked toml for crates.io crate vst2 0.0.1 written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 15701236f80c9a870b6e486f822872a2d7d5413f503f2d66131cc5b24e09d673
[INFO] running `Command { std: "docker" "start" "-a" "15701236f80c9a870b6e486f822872a2d7d5413f503f2d66131cc5b24e09d673", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15701236f80c9a870b6e486f822872a2d7d5413f503f2d66131cc5b24e09d673", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15701236f80c9a870b6e486f822872a2d7d5413f503f2d66131cc5b24e09d673", kill_on_drop: false }`
[INFO] [stdout] 15701236f80c9a870b6e486f822872a2d7d5413f503f2d66131cc5b24e09d673
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b902e589a85daf8ec888c35603df4120c12be090bd412abd1481316f153f9228
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b902e589a85daf8ec888c35603df4120c12be090bd412abd1481316f153f9228", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling num-bigint v0.1.44
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling phf_codegen v0.7.24
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]    Compiling vst2 v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/interfaces.rs:76:65
[INFO] [stdout]    |
[INFO] [stdout] 76 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]    |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/interfaces.rs:279:65
[INFO] [stdout]     |
[INFO] [stdout] 279 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]     |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:173:51
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let effect = unsafe { mem::transmute(Box::new(mem::zeroed::<AEffect>())) };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] note: function pointers must be non-null (in this struct field)
[INFO] [stdout]    --> src/api.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `load_pointer` should have an upper case name
[INFO] [stdout]    --> src/host.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | static mut load_pointer: *mut c_void = 0 as *mut c_void;
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to upper case: `LOAD_POINTER`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 18.36s
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b902e589a85daf8ec888c35603df4120c12be090bd412abd1481316f153f9228", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b902e589a85daf8ec888c35603df4120c12be090bd412abd1481316f153f9228", kill_on_drop: false }`
[INFO] [stdout] b902e589a85daf8ec888c35603df4120c12be090bd412abd1481316f153f9228
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 611566f29c3a0384caef20501df4b245d4578f65f36ba8c051dea35b0751b9c5
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "611566f29c3a0384caef20501df4b245d4578f65f36ba8c051dea35b0751b9c5", kill_on_drop: false }`
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vst2 v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/interfaces.rs:76:65
[INFO] [stdout]    |
[INFO] [stdout] 76 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]    |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/interfaces.rs:279:65
[INFO] [stdout]     |
[INFO] [stdout] 279 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]     |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:173:51
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let effect = unsafe { mem::transmute(Box::new(mem::zeroed::<AEffect>())) };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] note: function pointers must be non-null (in this struct field)
[INFO] [stdout]    --> src/api.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `load_pointer` should have an upper case name
[INFO] [stdout]    --> src/host.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | static mut load_pointer: *mut c_void = 0 as *mut c_void;
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to upper case: `LOAD_POINTER`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/simple_host.rs:32:64
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...                   e.description()));
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |         assert_fn_eq!(aeffect.dispatcher, interfaces::dispatch);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32, i32, isize, *mut c_void, f32) -> isize {dispatch}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |         assert_fn_eq!(aeffect._process, interfaces::process_deprecated);
[INFO] [stdout]     |         ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f32, *mut *mut f32, i32) {process_deprecated}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |         assert_fn_eq!(aeffect.setParameter, interfaces::set_parameter);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32, f32) {set_parameter}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |         assert_fn_eq!(aeffect.getParameter, interfaces::get_parameter);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32) -> f32 {get_parameter}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |         assert_fn_eq!(aeffect.processReplacing, interfaces::process_replacing);
[INFO] [stdout]     |         ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f32, *mut *mut f32, i32) {process_replacing}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |         assert_fn_eq!(aeffect.processReplacingF64, interfaces::process_replacing_f64);
[INFO] [stdout]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f64, *mut *mut f64, i32) {process_replacing_f64}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0591`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vst2`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "611566f29c3a0384caef20501df4b245d4578f65f36ba8c051dea35b0751b9c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "611566f29c3a0384caef20501df4b245d4578f65f36ba8c051dea35b0751b9c5", kill_on_drop: false }`
[INFO] [stdout] 611566f29c3a0384caef20501df4b245d4578f65f36ba8c051dea35b0751b9c5
